home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / artemis / artsrc2 / sqrt_mat.asm < prev    next >
Assembly Source File  |  1993-11-30  |  505b  |  46 lines

  1. public    isqrt
  2.  
  3. assume    cs:cseg,ds:cseg
  4.  
  5. cseg    segment
  6.  
  7. isqrt    proc
  8.  
  9.         mov    edx,[esp+4]
  10.         mov    ecx,040000000h
  11.         xor    eax,eax
  12. l1:
  13.         add    eax,ecx
  14.         cmp    edx,eax
  15.         jb    j1
  16.         sub    edx,eax
  17.         add    eax,ecx
  18.         add    eax,ecx
  19. j1:
  20.         sub    eax,ecx
  21.         shr    eax,1
  22.         shr    ecx,2
  23.         jnz    l1
  24.     
  25.         shl    edx,10
  26.         shl    eax,10
  27.         mov    ecx,0100h
  28. l2:
  29.         add    eax,ecx
  30.         cmp    edx,eax
  31.         jb    j2
  32.         sub    edx,eax
  33.         add    eax,ecx
  34.         add    eax,ecx
  35. j2:
  36.         sub    eax,ecx
  37.         shr    eax,1
  38.         shr    ecx,2
  39.         jnz    l2
  40.         ret
  41. isqrt    endp
  42.  
  43. cseg    ends
  44.  
  45. end
  46.